小弟请教关于C的问题``````````

来源:百度知道 编辑:UC知道 时间:2024/06/07 05:40:14
在多数计算机中,整型数据(int)采用两个字节,共16个二进制位,第一位为符号位,其余为十五位二进制数。于是所能表示的最大整数为:2的15次方减1等于32767,最小整数为-32768

请问:这两个数是怎么来的,为什么要这么算:“2的15次方减1”

我是菜鸟,大家帮帮忙啊`````

1位可以表示0和1两种情况,也就是2的1次方种数字,而2位2进制可以表示00 01 10 11四种情况,也就是2的2次方数字,那么16位(2个字节)可以表示2的16次方种数字,但是由于第一位让给了符号位,所以正数和负数都只可以表示2的15次方数字了。至于减1,是因为这一个表示让给了0(0既不是正数也不是负数,但是也要表示出来,所以占了一个位子,导致正数少了一个位子来表示数字,最大值当然比负数少1)

32767的二进制数为111111111111111,正好十五个“1”。
-32768的为-1000000000000000

计算机是 0 1 二进制
你都知道了 除了符号位 还有十五位
而每一位上是二进制 所以底数是二 指数是十五
就这么简单